import type { RouteRecordRaw } from 'vue-router';

const booking: RouteRecordRaw[] = [
  {
    path: '/booking',
    name: 'Booking',
    meta: {
      title: '预约排队',
      icon: 'mdi:calendar-clock',
      orderNo: 10,
    },
    children: [
      {
        path: 'index',
        name: 'BookingIndex',
        component: () => import('#/views/booking/index.vue'),
        meta: {
          title: '预约服务',
          icon: 'mdi:calendar-plus',
        },
      },
      {
        path: 'queue',
        name: 'QueueStatus',
        component: () => import('#/views/booking/queue.vue'),
        meta: {
          title: '排队状态',
          icon: 'mdi:format-list-numbered',
        },
      },
      {
        path: 'my-bookings',
        name: 'MyBookings',
        component: () => import('#/views/booking/my-bookings.vue'),
        meta: {
          title: '我的预约',
          icon: 'mdi:calendar-check',
        },
      },
      {
        path: 'admin',
        name: 'BookingAdmin',
        component: () => import('#/views/booking/admin/index.vue'),
        meta: {
          title: '预约管理',
          icon: 'mdi:cog',
          roles: ['admin', 'manager'],
        },
        children: [
          {
            path: 'bookings',
            name: 'BookingList',
            component: () => import('#/views/booking/admin/bookings.vue'),
            meta: {
              title: '预约列表',
              icon: 'mdi:format-list-bulleted',
            },
          },
          {
            path: 'services',
            name: 'ServiceManagement',
            component: () => import('#/views/booking/admin/services.vue'),
            meta: {
              title: '服务管理',
              icon: 'mdi:package-variant',
            },
          },
          {
            path: 'windows',
            name: 'WindowManagement',
            component: () => import('#/views/booking/admin/windows.vue'),
            meta: {
              title: '窗口管理',
              icon: 'mdi:desktop-classic',
            },
          },
          {
            path: 'reports',
            name: 'BookingReports',
            component: () => import('#/views/booking/admin/reports.vue'),
            meta: {
              title: '报表分析',
              icon: 'mdi:chart-line',
            },
          },
          {
            path: 'settings',
            name: 'BookingSettings',
            component: () => import('#/views/booking/admin/settings.vue'),
            meta: {
              title: '系统设置',
              icon: 'mdi:settings',
            },
          },
        ],
      },
    ],
  },
];

export default booking;
